<!DOCTYPE html>
<html lang="ar">
	<head>
		<meta charset="utf-8" />
		<base href="../../../" />
		<script src="page.js"></script>
		<link type="text/css" rel="stylesheet" href="page.css" />
	</head>
	<body class="rtl">
		<h1>[name]</h1>

		<p class="desc">
		شعاع ينبعث من أصل في اتجاه معين. يتم استخدام هذا بواسطة
		[page:Raycaster] للمساعدة في
		[link:https://en.wikipedia.org/wiki/Ray_casting الإشعاع]. يتم استخدام الإشعاع
		لاختيار الماوس (معرفة الكائنات في المسافة 3D التي يكون الماوس
		فوقها) من بين أشياء أخرى.
		</p>
		 
		<h2>المنشئ (Constructor)</h2>
		 
		<h3>[name]( [param:Vector3 origin], [param:Vector3 direction] )</h3>
		<p>
		[page:Vector3 origin] - (اختياري) أصل الـ[page:Ray]. الافتراضي
		هو [page:Vector3] عند (0، 0، 0).<br />
		[page:Vector3 direction] - [page:Vector3] اتجاه الـ[page:Ray].
		يجب تسوية هذا (بـ[page:Vector3.normalize]) لتشغيل الطرق بشكل صحيح. الافتراضي هو [page:Vector3] عند (0، 0، -1).<br /><br />
		 
		ينشئ [name] جديدًا.
		</p>
		 
		<h2>الخصائص (Properties)</h2>
		 
		<h3>[property:Vector3 origin]</h3>
		<p>
		أصل الـ[page:Ray]. الافتراضي هو [page:Vector3] عند `(0، 0، 0)`.
		</p>
		 
		<h3>[property:Vector3 direction]</h3>
		<p>
		اتجاه الـ[page:Ray]. يجب تسوية هذا (بـ
		[page:Vector3.normalize]) لتشغيل الطرق بشكل صحيح. الافتراضي هو
		[page:Vector3] عند (0، 0، -1).
		</p>
	 
		<h2>الطرق (Methods)</h2>
	 
		<h3>[method:this applyMatrix4]( [param:Matrix4 matrix4] )</h3>
		<p>
		[page:Matrix4 matrix4] - الـ[page:Matrix4] لتطبيقه على هذا
		[page:Ray].<br /><br />
	 
		تحويل هذا الـ[page:Ray] بواسطة [page:Matrix4].
		</p>
	 
		<h3>[method:Vector3 at]( [param:Float t], [param:Vector3 target] )</h3>
		<p>
		[page:Float t] - المسافة على طول الـ[page:Ray] لاسترداد موضع
		ل.<br />
		[page:Vector3 target] — سيتم نسخ النتيجة في هذا Vector3.<br /><br />
	 
		احصل على [page:Vector3] هو مسافة معينة على طول هذا الـ[page:Ray].
		</p>
	 
		<h3>[method:Ray clone]()</h3>
		<p>
		ينشئ Ray جديدًا بخصائص [page:.origin origin] و
		[page:.direction direction] متطابقة مع هذا.
		</p>
	 
		<h3>
		[method:Vector3 closestPointToPoint]( [param:Vector3 point], [param:Vector3 target] )
		</h3>
		<p>
		[page:Vector3 point] - النقطة التي سيتم الحصول على أقرب نهج إليها. <br />
		[page:Vector3 target] — سيتم نسخ النتيجة في هذا Vector3.<br /><br />
	 
		احصل على النقطة على طول هذا الـ[page:Ray] التي تكون أقرب إلى المزود
		[page:Vector3].
		</p>
	 
		<h3>[method:this copy]( [param:Ray ray] )</h3>
		<p>
		ينسخ خصائص [page:.origin origin] و [page:.direction direction]
		من [page:Ray ray] إلى هذا الشعاع.
		</p>
	 
		<h3>[method:Float distanceSqToPoint]( [param:Vector3 point] )</h3>
		<p>
		[page:Vector3 point] - الـ[page:Vector3] لحساب المسافة إليه.<br /><br />
	 
		احصل على المسافة المربعة لأقرب نهج بين [page:Ray]
		و [page:Vector3].
		</p>
	 
		<h3>
		[method:Float distanceSqToSegment]( [param:Vector3 v0], [param:Vector3 v1], 
		[param:Vector3 optionalPointOnRay], [param:Vector3 optionalPointOnSegment] )
		</h3>
		<p>
		[page:Vector3 v0] - بداية الخط المستقيم.<br />
		[page:Vector3 v1] - نهاية الخط المستقيم.<br />
		optionalPointOnRay - (اختياري) إذا تم توفير هذا ، فإنه يتلقى النقطة
		على هذا الـ[page:Ray] الأقرب إلى الشريحة.<br />
		optionalPointOnSegment - (اختياري) إذا تم توفير هذا ، فإنه يتلقى
		نقطة على شريحة الخط الأقرب إلى هذا الـ[page:Ray].<br /><br />
	 
		احصل على المسافة المربعة بين هذا الـ[page:Ray] وشريحة خط.
		</p>
	 
		<h3>[method:Float distanceToPlane]( [param:Plane plane] )</h3>
		<p>
		[page:Plane plane] - الـ[page:Plane] للحصول على المسافة إليه.<br /><br />
	 
		احصل على المسافة من [page:.origin origin] إلى [page:Plane] ، أو `null`
		إذا لم يتقاطع الـ[page:Ray] مع [page:Plane].
		</p>
	 
		<h3>[method:Float distanceToPoint]( [param:Vector3 point] )</h3>
		<p>
		[page:Vector3 point] - [page:Vector3] The [page:Vector3] لحساب
		مسافة إليه.<br /><br />
	 
		احصل على مسافة أقرب نهج بين الـ[page:Ray] و
		 [page:Vector3 point].
		</p>

		<h3>[method:Boolean equals]( [param:Ray ray] )</h3>
		<p>
		[page:Ray ray] - الـ[page:Ray] للمقارنة معه.<br /><br />
	 
		يعود بالقيمة true إذا كان هذا والآخر [page:Ray ray] لديهما [page:.origin origin] 
		و [page:.direction direction] متساويان.
		</p>
	 
		<h3>
		[method:Vector3 intersectBox]( [param:Box3 box], [param:Vector3 target] )
		</h3>
		<p>
		[page:Box3 box] - الـ[page:Box3] للتقاطع معه.<br />
		[page:Vector3 target] — سيتم نسخ النتيجة في هذا Vector3.<br /><br />
	 
		تقاطع هذا الـ[page:Ray] مع [page:Box3] ، وإرجاع نقطة التقاطع
		أو `null` إذا لم يكن هناك تقاطع.
		</p>
	 
		<h3>
		[method:Vector3 intersectPlane]( [param:Plane plane], [param:Vector3 target] )
		</h3>
		<p>
		[page:Plane plane] - الـ[page:Plane] للتقاطع معه.<br />
		[page:Vector3 target] — سيتم نسخ النتيجة في هذا Vector3.<br /><br />
	 
		تقاطع هذا الـ[page:Ray] مع [page:Plane] ، وإرجاع نقطة التقاطع
		أو `null` إذا لم يكن هناك تقاطع.
		</p>
	 
		<h3>
		[method:Vector3 intersectSphere]( [param:Sphere sphere], [param:Vector3 target] )
		</h3>
		<p>
		[page:Sphere sphere] - الـ[page:Sphere] للتقاطع معه.<br />
		[page:Vector3 target] — سيتم نسخ النتيجة في هذا Vector3.<br /><br />
	 
		تقاطع هذا الـ[page:Ray] مع [page:Sphere] ، وإرجاع نقطة التقاطع
		أو `null` إذا لم يكن هناك تقاطع.
		</p>
	 
		<h3>
		[method:Vector3 intersectTriangle]( [param:Vector3 a], [param:Vector3 b], [param:Vector3 c], [param:Boolean backfaceCulling], [param:Vector3 target] )
		</h3>
		<p>
		[page:Vector3 a], [page:Vector3 b], [page:Vector3 c] - نقاط الـ[page:Vector3]
		التي تشكل المثلث.<br />
		[page:Boolean backfaceCulling] - ما إذا كان سيتم استخدام قص الوجه الخلفي.<br />
		[page:Vector3 target] — سيتم نسخ النتيجة في هذا Vector3.<br /><br />
	 
		تقاطع هذه الـ[page:Ray] مع مثلث ، وإرجاع نقطة التقاطع
		أو `null` إذا لم يكن هناك تقاطع.
		</p>
	 
		<h3>[method:Boolean intersectsBox]( [param:Box3 box] )</h3>
		<p>
		[page:Box3 box] - [page:Box3] للتقاطع معه.<br /><br />
	 
		يعود بالقيمة true إذا كان هذا [page:Ray] يتقاطع مع [page:Box3].
		</p>
	 
		<h3>[method:Boolean intersectsPlane]( [param:Plane plane] )</h3>
		<p>
		[page:Plane plane] - [page:Plane] للتقاطع معه.<br /><br />
	 
		يعود بالقيمة true إذا كان هذا [page:Ray] يتقاطع مع [page:Plane].
		</p>
	 
		<h3>[method:Boolean intersectsSphere]( [param:Sphere sphere] )</h3>
		<p>
		[page:Sphere sphere] - [page:Sphere] للتقاطع معه.<br /><br />
	 
		يعود بالقيمة true إذا كان هذا [page:Ray] يتقاطع مع [page:Sphere].
		</p>
	 
		<h3>[method:this lookAt]( [param:Vector3 v] )</h3>
		<p>
		[page:Vector3 v] - الـ[page:Vector3] الذي سينظر إليه.<br /><br />
	 
		يضبط اتجاه الشعاع للإشارة إلى المتجه في الإحداثيات العالمية.
		</p>
	 
		<h3>[method:this recast]( [param:Float t] )</h3>
		<p>
		[page:Float t] - المسافة على طول الـ[page:Ray] للإدراج.<br /><br />
	 
		تحريك أصل هذا الـ[page:Ray] على طول اتجاهه بالمسافة
		المحددة.
		</p>
	 
		<h3>
		[method:this set]( [param:Vector3 origin], [param:Vector3 direction] )
		</h3>
		<p>
		[page:Vector3 origin] - أصل الـ[page:.origin origin] لـ[page:Ray].<br />
		[page:Vector3 direction] - اتجاه الـ[page:.direction direction]
		لـ[page:Ray]. يجب تسوية هذا (بـ[page:Vector3.normalize]) لـ
		تشغيل الطرق بشكل صحيح.<br /><br />
	 
		يضبط خصائص أصل واتجاه هذا الشعاع
		من خلال نسخ القيم من الكائنات المحددة.
		</p>

		<h2>المصدر (Source)</h2>

		<p>
			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
		</p>
	</body>
</html>
